我的世界服务器开发日记MiniMapDrawing插件
AI-摘要
Kobayashi GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
我的世界服务器开发日记MiniMapDrawing插件
KobayashiMiniMapDrawing
跨区地图画插件(Paper 1.19 + Bungee 可配合)。本插件将普通地图转换为带作者信息的“地图画”,并支持作者在任意服务器复制自己的地图画(通过数据库保存物品数据)。
要求
- Java 17
- Paper 1.19.x 服务器
- MySQL 数据库
- 运行时需要 Vault 插件(以及支持的经济插件,如 EssentialsX、iConomy 等)—— 这些仅用于货币扣费,不是编译时依赖
项目结构(重要文件)
pom.xml- Maven 构建src/main/java/...- 源代码src/main/resources/config.yml- 默认配置(数据库与花费)src/main/resources/menu/- GUI 配置文件(可在plugins/MiniMapDrawing/menu中修改)
快速构建
运行以下命令打包 JAR:
1 | mvn clean package |
构建成功后 JAR 位于 target/MiniMapDrawing-1.0.0.jar。
安装/部署
- 将构建出的
MiniMapDrawing-*.jar放入各个 Paper 服务器的plugins/目录(需要运行插件功能的服务器)。 - 确保
Vault与一个经济插件已安装并启用。 - 启动服务器,插件会在
plugins/MiniMapDrawing/下生成配置与menu文件夹。 - 编辑
plugins/MiniMapDrawing/config.yml来配置数据库连接与花费:
1 | database: |
- 如果需要自定义 GUI 文本或位置,可直接编辑
plugins/MiniMapDrawing/menu/conversion.yml与plugins/MiniMapDrawing/menu/copy.yml。
数据库初始化
插件会在第一次连接时尝试自动创建表 minimap_maps:
1 | CREATE TABLE IF NOT EXISTS minimap_maps ( |
确保提供的数据库用户有创建表与写入权限。
编码问题(重要)
如果在构建时出现“不可映射字符”或类似的编码错误,请确保项目使用 UTF-8 编码:
- 已在
pom.xml中把project.build.sourceEncoding设置为UTF-8并为资源与编译插件指定了编码。 - 在 IntelliJ 中:File → Settings → Editor → File Encodings,将 Project Encoding 和 Default encoding for properties files 都设置为
UTF-8(并把工作区文件也转换为 UTF-8)。 - 如果你在 Windows 下使用 Maven,确保
JAVA_TOOL_OPTIONS或命令行没有强制覆盖文件编码;推荐将源码文件保存为 UTF-8 后重新运行mvn -U clean package。
解决 Maven 依赖问题(常见)
如果在 IntelliJ / Maven 构建时遇到类似错误:
1 | Failed to execute goal on project: Could not resolve dependencies: mysql:mysql-connector-java:jar:8.1.0 ... |
- 已在
pom.xml中使用了稳定可用的 MySQL 驱动版本8.0.33。若本地仍缓存旧失败记录,可用下列命令强制刷新依赖:
1 | mvn -U clean package |
- Vault API 通常不会托管在中央仓库。若 Maven 提示无法找到
net.milkbowl.vault:VaultAPI:1.7,请手动把Vault.jar安装到本地仓库(如果你在本地有 Vault 的 jar):
1 | mvn install:install-file -Dfile=path/to/Vault.jar -DgroupId=net.milkbowl.vault -DartifactId=VaultAPI -Dversion=1.7 -Dpackaging=jar -DgeneratePom=true |
将 path/to/Vault.jar 替换为你机器上 Vault 插件的实际路径。安装完成后再次运行 mvn package 即可。
- 另一种做法是在 IDE 的 Maven 配置中勾选“Work offline”前先将依赖下载完成,或把 Vault 的 jar 放入本地仓库目录(不推荐手动拷贝,优先使用
mvn install:install-file)。
使用说明(简要)
- 手持普通地图(
minecraft:map/filled_map),按两次 Shift(双击 Shift)会打开“地图画转换”界面。按住 Shift 点击“确认转换”将消耗conversion-cost并把主手地图替换为带作者信息的地图画。 - 拿着已转换的地图画双击 Shift 会打开复制界面(只能复制自己的地图画)。在复制界面通过左右两侧按钮调整数量(最多 64),按住 Shift 点击确认来支付并获得复制品。
注意事项与扩展
- 菜单文件在
plugins/MiniMapDrawing/menu下可直接编辑,修改后重启或重载插件生效。 - 物品序列化使用 Bukkit 序列化(
BukkitObjectOutputStream),确保服务器之间 Bukkit 版本兼容以避免反序列化问题。 - 本插件仅保存物品数据到数据库,跨区复制依赖于每台服务器都能访问相同数据库与 Vault 经济环境。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果














